package com_6;

import java.util.*;

/*
需求；创建一个ArrayList集合，存储三分hashmap集合做为元素
思路；1，创建一个ArrayList集合
      2，创建三个hashmap集合并进行储存元素
      3hashmap赋值完元素之后再添加到集合中
      4，循环嵌套for进行遍历

 */
public class Test {//定义了一个测试类
    public static void main(String[] args) {//
        ArrayList<HashMap<String, String>> arraylist = new ArrayList<HashMap<String, String>>();//创建一个ArrayList集合的对象泛型是HashMap型
        HashMap<String, String> map1 = new LinkedHashMap<String, String>();//创建HashMap类型的对象
        map1.put("恭", "红");//使用泛型HashMap的对象调用put方法进行元素存储
        map1.put("喜", "包");//使用泛型HasgMap的对象调用put方法进行元素存储
        map1.put("发", "拿");//使用泛型HasgMap的对象调用put方法进行元素存储
        map1.put("财", "来");//使用泛型HasgMap的对象调用put方法进行元素存储
        arraylist.add(map1);//使用集合对象调用aad方法进行元素储存
        HashMap<String, String> map2 = new LinkedHashMap<String, String>();//创建HashMap类型的对象
        map2.put("今", "大");//使用map2对象调用put方法进行元素存储
        map2.put("晚", "吉");//使用map2对象调用put方法进行元素存
        map2.put("吃", "大");//使用map2对象调用put方法进行元素存
        map2.put("鸡", "利");//使用map2对象调用put方法进行元素存
        arraylist.add(map2);//使ArrayLisr对象调用add方法进行元素储存
        HashMap<String, String> map3 =new LinkedHashMap<String, String>();//创建第三个map对象
        map3.put("传", "专");//使用put方法进行元素储存
        map3.put("智", "修");//使用put方法进行元素储存
        map3.put("播", "学");//使用put方法进行元素储存
        map3.put("客", "院");//使用put方法进行元素储存
        arraylist.add(map3);//使用put方法进行元素储存
        for (HashMap<String, String> hashMap : arraylist) {//首先使用for循环遍历这个数组集合
            Set<Map.Entry<String, String>> set = hashMap.entrySet();//获取hashmap集合所有的键数对
            for (Map.Entry<String, String> entry : set) {//再在这个for内部使用for循环遍历这个hashmap集合

                String value = entry.getValue();//使用键数对象调用getvalue方法进行获取值
                String key = entry.getKey();//使用键数对集合对象调用getKey键位
                System.out.println(value+ "   "+key);//输出获取的键位和值
            }
            System.out.println("-------------------");//每遍历一次进行输出一次分隔符
        }

    }
}
